{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Vorticity-Streamfunction FD Python\n",
    "## CH EN 6355 - Computational Fluid Dynamics\n",
    "**Prof. Tony Saad (<a>www.tsaad.net</a>) <br/>Department of Chemical Engineering <br/>University of Utah**\n",
    "<hr/>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "variables": {
     "2\\Delta x": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-e6b999a1ea66>, line 1)</p>\n",
     "2\\Delta y": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-da50c9bc6b2d>, line 1)</p>\n",
     "\\Delta t": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-647989b78fb5>, line 1)</p>\n",
     "\\Delta {x^2": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-65c143cf2c03>, line 1)</p>\n",
     "\\Delta {y^2": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-012f8dfaca4f>, line 1)</p>\n",
     "\\omega _{i + 1,j}^n - 2\\omega _{i,j}^n + \\omega _{i - 1,j}^n": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-08dcc82456c1>, line 1)</p>\n",
     "\\omega _{i + 1,j}^n - \\omega _{i - 1,j}^n": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-52ea9ae05c40>, line 1)</p>\n",
     "\\omega _{i,j + 1}^n - 2\\omega _{i,j}^n + \\omega _{i,j - 1}^n": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-8d318162213d>, line 1)</p>\n",
     "\\omega _{i,j + 1}^n - \\omega _{i,j - 1}^n": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-6191fd5ff44a>, line 1)</p>\n",
     "\\omega _{i,j}^{n + 1} - \\omega _{i,j}^n": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-333a7fe8ae3f>, line 1)</p>\n",
     "\\partial \\psi ": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-87e6c28f125e>, line 1)</p>\n",
     "\\partial t": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-8ecb5cd3e3b2>, line 1)</p>\n",
     "\\partial x": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-45625a55a184>, line 1)</p>\n",
     "\\partial y": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-fc14d20539c0>, line 1)</p>\n",
     "\\partial {\\omega _z": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-d0c3f5e12341>, line 1)</p>\n",
     "\\psi _{i + 1,j}^n - \\psi _{i - 1,j}^n": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-52ce8d04dffa>, line 1)</p>\n",
     "\\psi _{i,j + 1}^n - \\psi _{i,j - 1}^n": "<p><strong>SyntaxError</strong>: unexpected character after line continuation character (<ipython-input-1-cc1dc9d5a0f6>, line 1)</p>\n"
    }
   },
   "source": [
    "## Synopsis\n",
    "This notebook implements a finite difference solution of the 2D vorticity streamfunction approach for the constant density incompressible Navier-Stokes equations. These are given by\n",
    "\\begin{equation}\n",
    "\\frac{{\\partial {\\omega _z}}}{{\\partial t}} =  - \\frac{{\\partial \\psi }}{{\\partial y}}\\frac{{\\partial {\\omega _z}}}{{\\partial x}} + \\frac{{\\partial \\psi }}{{\\partial x}}\\frac{{\\partial {\\omega _z}}}{{\\partial y}} + \\nu {\\nabla ^2}{\\omega _z}\n",
    "\\end{equation}\n",
    "\\begin{equation}\n",
    "\\nabla ^2 \\psi = -\\omega_z\n",
    "\\end{equation}\n",
    "along with $u =  \\frac{\\partial \\psi}{\\partial y}$ and $v =- \\frac{\\partial \\psi}{\\partial x}$. \n",
    "\n",
    "The solution procedure consists of the following steps:\n",
    "1. Initialize $\\omega$ in the domain and set $\\omega$ and $\\psi$ appropriately at the boundaries\n",
    "2. Compute the streamfunction by solving the Poisson equation for the streamfunction-vorticity relation\n",
    "3. Solve the vorticity transport equation using an appropriate discretization scheme in time and space\n",
    "\n",
    "For this notebook, we will use an FTCS scheme (Forward in Time, Central in Space). We have\n",
    "\\begin{equation}\n",
    "\\frac{{\\partial {\\omega _z}}}{{\\partial t}} \\approx \\frac{{\\omega _{i,j}^{n + 1} - \\omega _{i,j}^n}}{{\\Delta t}}\n",
    "\\end{equation}\n",
    "\\begin{equation}\n",
    "- \\frac{{\\partial \\psi }}{{\\partial y}}\\frac{{\\partial {\\omega _z}}}{{\\partial x}} =  - \\left( {\\frac{{\\psi _{i,j + 1}^n - \\psi _{i,j - 1}^n}}{{2\\Delta y}}} \\right)\\left( {\\frac{{\\omega _{i + 1,j}^n - \\omega _{i - 1,j}^n}}{{2\\Delta x}}} \\right)\n",
    "\\end{equation}\n",
    "\\begin{equation}\n",
    "\\frac{{\\partial \\psi }}{{\\partial x}}\\frac{{\\partial {\\omega _z}}}{{\\partial y}} = \\left( {\\frac{{\\psi _{i + 1,j}^n - \\psi _{i - 1,j}^n}}{{2\\Delta x}}} \\right)\\left( {\\frac{{\\omega _{i,j + 1}^n - \\omega _{i,j - 1}^n}}{{2\\Delta y}}} \\right)\n",
    "\\end{equation}\n",
    "and\n",
    "\\begin{equation}\n",
    "{\\nabla ^2}{\\omega _z} = \\frac{{\\omega _{i + 1,j}^n - 2\\omega _{i,j}^n + \\omega _{i - 1,j}^n}}{{\\Delta {x^2}}} + \\frac{{\\omega _{i,j + 1}^n - 2\\omega _{i,j}^n + \\omega _{i,j - 1}^n}}{{\\Delta {y^2}}}\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "%matplotlib inline\n",
    "%config InlineBackend.figure_format = 'svg'\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.animation as animation\n",
    "from matplotlib import cm\n",
    "plt.rcParams['animation.html'] = 'html5'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "nx = 21\n",
    "ny = 21\n",
    "lx = 1.0\n",
    "ly = 1.0\n",
    "dx = lx/(nx-1)\n",
    "dy = ly/(ny-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "Ut = 5.0 # u top wall\n",
    "Ub = 0.0 # u bottom wall\n",
    "Vl = 0.0 # V left wall\n",
    "Vr = 0.0 # V right wall"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dt = 0.008\n",
      "Reynods = 100.0\n"
     ]
    }
   ],
   "source": [
    "ψ0 = np.zeros([ny,nx])\n",
    "ω0 = np.zeros([ny,nx])\n",
    "\n",
    "# apply boundary conditions\n",
    "ω0[0,1:-1]  = -2.0*ψ0[1, 1:-1]/dy/dy + 2.0*Ub/dy     # vorticity on bottom wall (stationary)\n",
    "ω0[-1,1:-1] = -2.0*ψ0[-2, 1:-1]/dy/dy - 2.0*Ut/dy # vorticity on top wall (moving at Uwall)\n",
    "ω0[1:-1,-1] = -2.0*ψ0[1:-1,-2]/dx/dx # right wall\n",
    "ω0[1:-1,0]  = -2.0*ψ0[1:-1,1]/dx/dx # left wall\n",
    "\n",
    "# ω0[ny//2,:nx//2] = 1.0/dy\n",
    "# ω0[ny//2-1,nx//2:] = 1/dy\n",
    "\n",
    "t = 0.0\n",
    "dt = 0.001\n",
    "\n",
    "tol = 1e-3\n",
    "maxIt = 30\n",
    "β = 1.5\n",
    "ν = 0.05\n",
    "psi = []\n",
    "psi.append(ψ0)\n",
    "omega = []\n",
    "omega.append(ω0)\n",
    "# plt.contour(omega[0])\n",
    "dt = min(0.25*dx*dx/ν, 4.0*ν/Ut/Ut)\n",
    "tend = 4*dt\n",
    "# print(ν*dt/dx/dx <= 0.25)\n",
    "# print(Ut**2*dt/ν <= 4.0)\n",
    "print('dt =', dt)\n",
    "print('Reynods =', Ut*lx/ν)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "while t < tend:\n",
    "\n",
    "    # first find ψ by solving the Poisson equation Δψ = -ω\n",
    "    it = 0\n",
    "    err = 1e3\n",
    "    ψ = psi[-1].copy()    \n",
    "    ωn = omega[-1]    \n",
    "    while err > tol and it < maxIt:\n",
    "        ψk = np.zeros_like(ψ)\n",
    "        ψk[1:-1,1:-1] = ψ[1:-1,1:-1] # set interior values\n",
    "        for i in range(1,nx-1):\n",
    "            for j in range(1,ny-1):\n",
    "                rhs = (dx*dy)**2 * ωn[j,i] + dx**2 * (ψ[j+1,i] + ψ[j-1,i]) + dy**2 * (ψ[j,i+1] + ψ[j,i-1])\n",
    "                rhs *= β/2.0/(dx**2 + dy**2)\n",
    "                ψ[j,i] = rhs + (1-β)*ψ[j,i]\n",
    "        err = np.linalg.norm(ψ - ψk)\n",
    "        it += 1\n",
    "    psi.append(ψ)\n",
    "\n",
    "    # declare new array for ω\n",
    "    ω = np.zeros_like(ωn)\n",
    "    \n",
    "    Cx  = -(ψ[2:,1:-1] - ψ[:-2,1:-1])/2.0/dy * (ωn[1:-1,2:] - ωn[1:-1,:-2])/2.0/dx\n",
    "    Cy  =  (ωn[2:,1:-1] - ωn[:-2,1:-1])/2.0/dy * (ψ[1:-1,2:] - ψ[1:-1,:-2])/2.0/dx\n",
    "    Dxy =  (ωn[1:-1,2:] - 2.0*ωn[1:-1,1:-1] + ωn[1:-1,:-2])/dx/dx + (ωn[2:,1:-1] -2.0*ωn[1:-1,1:-1] + ωn[:-2,1:-1])/dy/dy\n",
    "    rhs = Cx + Cy + ν*Dxy\n",
    "    ω[1:-1,1:-1] = ωn[1:-1,1:-1] + dt*rhs\n",
    "    \n",
    "    # apply boundary conditions\n",
    "    ω[0,1:-1]  = -2.0*ψ[1, 1:-1]/dy/dy + 2.0*Ub/dy     # vorticity on bottom wall (stationary)\n",
    "    ω[-1,1:-1] = -2.0*ψ[-2, 1:-1]/dy/dy - 2.0*Ut/dy # vorticity on top wall (moving at Uwall)\n",
    "    ω[1:-1,-1] = -2.0*ψ[1:-1,-2]/dx/dx # right wall\n",
    "    ω[1:-1,0]  = -2.0*ψ[1:-1,1]/dx/dx # left wall\n",
    "    \n",
    "    omega.append(ω)\n",
    "    t += dt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x121985668>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       "  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Created with matplotlib (https://matplotlib.org/) -->\n",
       "<svg height=\"252.317344pt\" version=\"1.1\" viewBox=\"0 0 376.762937 252.317344\" width=\"376.762937pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       " <defs>\n",
       "  <style type=\"text/css\">\n",
       "*{stroke-linecap:butt;stroke-linejoin:round;}\n",
       "  </style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 252.317344 \n",
       "L 376.762937 252.317344 \n",
       "L 376.762937 0 \n",
       "L 0 0 \n",
       "z\n",
       "\" style=\"fill:none;\"/>\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 36.465625 228.439219 \n",
       "L 304.305625 228.439219 \n",
       "L 304.305625 10.999219 \n",
       "L 36.465625 10.999219 \n",
       "z\n",
       "\" style=\"fill:#ffffff;\"/>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_1\">\n",
       "    <g id=\"xtick_1\">\n",
       "     <g id=\"line2d_1\">\n",
       "      <defs>\n",
       "       <path d=\"M 0 0 \n",
       "L 0 3.5 \n",
       "\" id=\"mdc79cd5428\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"36.465625\" xlink:href=\"#mdc79cd5428\" y=\"228.439219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_1\">\n",
       "      <!-- 0.0 -->\n",
       "      <defs>\n",
       "       <path d=\"M 31.78125 66.40625 \n",
       "Q 24.171875 66.40625 20.328125 58.90625 \n",
       "Q 16.5 51.421875 16.5 36.375 \n",
       "Q 16.5 21.390625 20.328125 13.890625 \n",
       "Q 24.171875 6.390625 31.78125 6.390625 \n",
       "Q 39.453125 6.390625 43.28125 13.890625 \n",
       "Q 47.125 21.390625 47.125 36.375 \n",
       "Q 47.125 51.421875 43.28125 58.90625 \n",
       "Q 39.453125 66.40625 31.78125 66.40625 \n",
       "z\n",
       "M 31.78125 74.21875 \n",
       "Q 44.046875 74.21875 50.515625 64.515625 \n",
       "Q 56.984375 54.828125 56.984375 36.375 \n",
       "Q 56.984375 17.96875 50.515625 8.265625 \n",
       "Q 44.046875 -1.421875 31.78125 -1.421875 \n",
       "Q 19.53125 -1.421875 13.0625 8.265625 \n",
       "Q 6.59375 17.96875 6.59375 36.375 \n",
       "Q 6.59375 54.828125 13.0625 64.515625 \n",
       "Q 19.53125 74.21875 31.78125 74.21875 \n",
       "z\n",
       "\" id=\"DejaVuSans-48\"/>\n",
       "       <path d=\"M 10.6875 12.40625 \n",
       "L 21 12.40625 \n",
       "L 21 0 \n",
       "L 10.6875 0 \n",
       "z\n",
       "\" id=\"DejaVuSans-46\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(28.514063 243.037656)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_2\">\n",
       "     <g id=\"line2d_2\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"69.945625\" xlink:href=\"#mdc79cd5428\" y=\"228.439219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_2\">\n",
       "      <!-- 2.5 -->\n",
       "      <defs>\n",
       "       <path d=\"M 19.1875 8.296875 \n",
       "L 53.609375 8.296875 \n",
       "L 53.609375 0 \n",
       "L 7.328125 0 \n",
       "L 7.328125 8.296875 \n",
       "Q 12.9375 14.109375 22.625 23.890625 \n",
       "Q 32.328125 33.6875 34.8125 36.53125 \n",
       "Q 39.546875 41.84375 41.421875 45.53125 \n",
       "Q 43.3125 49.21875 43.3125 52.78125 \n",
       "Q 43.3125 58.59375 39.234375 62.25 \n",
       "Q 35.15625 65.921875 28.609375 65.921875 \n",
       "Q 23.96875 65.921875 18.8125 64.3125 \n",
       "Q 13.671875 62.703125 7.8125 59.421875 \n",
       "L 7.8125 69.390625 \n",
       "Q 13.765625 71.78125 18.9375 73 \n",
       "Q 24.125 74.21875 28.421875 74.21875 \n",
       "Q 39.75 74.21875 46.484375 68.546875 \n",
       "Q 53.21875 62.890625 53.21875 53.421875 \n",
       "Q 53.21875 48.921875 51.53125 44.890625 \n",
       "Q 49.859375 40.875 45.40625 35.40625 \n",
       "Q 44.1875 33.984375 37.640625 27.21875 \n",
       "Q 31.109375 20.453125 19.1875 8.296875 \n",
       "z\n",
       "\" id=\"DejaVuSans-50\"/>\n",
       "       <path d=\"M 10.796875 72.90625 \n",
       "L 49.515625 72.90625 \n",
       "L 49.515625 64.59375 \n",
       "L 19.828125 64.59375 \n",
       "L 19.828125 46.734375 \n",
       "Q 21.96875 47.46875 24.109375 47.828125 \n",
       "Q 26.265625 48.1875 28.421875 48.1875 \n",
       "Q 40.625 48.1875 47.75 41.5 \n",
       "Q 54.890625 34.8125 54.890625 23.390625 \n",
       "Q 54.890625 11.625 47.5625 5.09375 \n",
       "Q 40.234375 -1.421875 26.90625 -1.421875 \n",
       "Q 22.3125 -1.421875 17.546875 -0.640625 \n",
       "Q 12.796875 0.140625 7.71875 1.703125 \n",
       "L 7.71875 11.625 \n",
       "Q 12.109375 9.234375 16.796875 8.0625 \n",
       "Q 21.484375 6.890625 26.703125 6.890625 \n",
       "Q 35.15625 6.890625 40.078125 11.328125 \n",
       "Q 45.015625 15.765625 45.015625 23.390625 \n",
       "Q 45.015625 31 40.078125 35.4375 \n",
       "Q 35.15625 39.890625 26.703125 39.890625 \n",
       "Q 22.75 39.890625 18.8125 39.015625 \n",
       "Q 14.890625 38.140625 10.796875 36.28125 \n",
       "z\n",
       "\" id=\"DejaVuSans-53\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(61.994063 243.037656)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-50\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_3\">\n",
       "     <g id=\"line2d_3\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"103.425625\" xlink:href=\"#mdc79cd5428\" y=\"228.439219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_3\">\n",
       "      <!-- 5.0 -->\n",
       "      <g transform=\"translate(95.474063 243.037656)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-53\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_4\">\n",
       "     <g id=\"line2d_4\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"136.905625\" xlink:href=\"#mdc79cd5428\" y=\"228.439219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_4\">\n",
       "      <!-- 7.5 -->\n",
       "      <defs>\n",
       "       <path d=\"M 8.203125 72.90625 \n",
       "L 55.078125 72.90625 \n",
       "L 55.078125 68.703125 \n",
       "L 28.609375 0 \n",
       "L 18.3125 0 \n",
       "L 43.21875 64.59375 \n",
       "L 8.203125 64.59375 \n",
       "z\n",
       "\" id=\"DejaVuSans-55\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(128.954063 243.037656)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-55\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_5\">\n",
       "     <g id=\"line2d_5\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"170.385625\" xlink:href=\"#mdc79cd5428\" y=\"228.439219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_5\">\n",
       "      <!-- 10.0 -->\n",
       "      <defs>\n",
       "       <path d=\"M 12.40625 8.296875 \n",
       "L 28.515625 8.296875 \n",
       "L 28.515625 63.921875 \n",
       "L 10.984375 60.40625 \n",
       "L 10.984375 69.390625 \n",
       "L 28.421875 72.90625 \n",
       "L 38.28125 72.90625 \n",
       "L 38.28125 8.296875 \n",
       "L 54.390625 8.296875 \n",
       "L 54.390625 0 \n",
       "L 12.40625 0 \n",
       "z\n",
       "\" id=\"DejaVuSans-49\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(159.252813 243.037656)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_6\">\n",
       "     <g id=\"line2d_6\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"203.865625\" xlink:href=\"#mdc79cd5428\" y=\"228.439219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_6\">\n",
       "      <!-- 12.5 -->\n",
       "      <g transform=\"translate(192.732813 243.037656)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-50\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-53\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_7\">\n",
       "     <g id=\"line2d_7\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"237.345625\" xlink:href=\"#mdc79cd5428\" y=\"228.439219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_7\">\n",
       "      <!-- 15.0 -->\n",
       "      <g transform=\"translate(226.212813 243.037656)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-53\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_8\">\n",
       "     <g id=\"line2d_8\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"270.825625\" xlink:href=\"#mdc79cd5428\" y=\"228.439219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_8\">\n",
       "      <!-- 17.5 -->\n",
       "      <g transform=\"translate(259.692813 243.037656)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-55\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-53\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_9\">\n",
       "     <g id=\"line2d_9\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"304.305625\" xlink:href=\"#mdc79cd5428\" y=\"228.439219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_9\">\n",
       "      <!-- 20.0 -->\n",
       "      <g transform=\"translate(293.172813 243.037656)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-50\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_2\">\n",
       "    <g id=\"ytick_1\">\n",
       "     <g id=\"line2d_10\">\n",
       "      <defs>\n",
       "       <path d=\"M 0 0 \n",
       "L -3.5 0 \n",
       "\" id=\"m772923475e\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"36.465625\" xlink:href=\"#m772923475e\" y=\"228.439219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_10\">\n",
       "      <!-- 0.0 -->\n",
       "      <g transform=\"translate(13.5625 232.238437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_2\">\n",
       "     <g id=\"line2d_11\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"36.465625\" xlink:href=\"#m772923475e\" y=\"201.259219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_11\">\n",
       "      <!-- 2.5 -->\n",
       "      <g transform=\"translate(13.5625 205.058437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-50\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_3\">\n",
       "     <g id=\"line2d_12\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"36.465625\" xlink:href=\"#m772923475e\" y=\"174.079219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_12\">\n",
       "      <!-- 5.0 -->\n",
       "      <g transform=\"translate(13.5625 177.878437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-53\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_4\">\n",
       "     <g id=\"line2d_13\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"36.465625\" xlink:href=\"#m772923475e\" y=\"146.899219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_13\">\n",
       "      <!-- 7.5 -->\n",
       "      <g transform=\"translate(13.5625 150.698437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-55\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_5\">\n",
       "     <g id=\"line2d_14\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"36.465625\" xlink:href=\"#m772923475e\" y=\"119.719219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_14\">\n",
       "      <!-- 10.0 -->\n",
       "      <g transform=\"translate(7.2 123.518437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_6\">\n",
       "     <g id=\"line2d_15\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"36.465625\" xlink:href=\"#m772923475e\" y=\"92.539219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_15\">\n",
       "      <!-- 12.5 -->\n",
       "      <g transform=\"translate(7.2 96.338437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-50\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-53\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_7\">\n",
       "     <g id=\"line2d_16\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"36.465625\" xlink:href=\"#m772923475e\" y=\"65.359219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_16\">\n",
       "      <!-- 15.0 -->\n",
       "      <g transform=\"translate(7.2 69.158437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-53\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_8\">\n",
       "     <g id=\"line2d_17\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"36.465625\" xlink:href=\"#m772923475e\" y=\"38.179219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_17\">\n",
       "      <!-- 17.5 -->\n",
       "      <g transform=\"translate(7.2 41.978437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-55\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-53\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_9\">\n",
       "     <g id=\"line2d_18\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"36.465625\" xlink:href=\"#m772923475e\" y=\"10.999219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_18\">\n",
       "      <!-- 20.0 -->\n",
       "      <g transform=\"translate(7.2 14.798437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-50\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_1\"/>\n",
       "   <g id=\"LineCollection_2\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 170.385625 33.073 \n",
       "L 165.296736 32.743219 \n",
       "L 170.385625 32.142879 \n",
       "L 183.777625 31.600116 \n",
       "L 197.169625 32.019715 \n",
       "L 203.186395 32.743219 \n",
       "L 197.169625 33.112653 \n",
       "L 183.777625 33.369588 \n",
       "L 170.385625 33.073 \n",
       "\" style=\"fill:none;stroke:#481668;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_3\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 130.209625 34.032333 \n",
       "L 124.779943 32.743219 \n",
       "L 130.209625 29.050486 \n",
       "L 143.601625 24.723173 \n",
       "L 156.993625 22.670551 \n",
       "L 167.049312 21.871219 \n",
       "L 170.385625 21.855018 \n",
       "L 183.777625 21.824294 \n",
       "L 197.169625 21.824812 \n",
       "L 210.561625 21.858039 \n",
       "L 212.975104 21.871219 \n",
       "L 223.953625 23.19023 \n",
       "L 237.345625 28.54638 \n",
       "L 240.437732 32.743219 \n",
       "L 237.345625 33.526125 \n",
       "L 223.953625 35.88629 \n",
       "L 210.561625 37.601026 \n",
       "L 197.169625 38.676267 \n",
       "L 183.777625 39.097886 \n",
       "L 170.385625 38.853498 \n",
       "L 156.993625 37.935751 \n",
       "L 143.601625 36.336629 \n",
       "L 130.209625 34.032333 \n",
       "\" style=\"fill:none;stroke:#482878;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_4\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 156.993625 43.660001 \n",
       "L 156.650349 43.615219 \n",
       "L 143.601625 41.911802 \n",
       "L 130.209625 39.381131 \n",
       "L 116.817625 36.02467 \n",
       "L 106.837563 32.743219 \n",
       "L 112.553605 21.871219 \n",
       "L 116.817625 21.747194 \n",
       "L 130.209625 21.499213 \n",
       "L 143.601625 21.339848 \n",
       "L 156.993625 21.237773 \n",
       "L 170.385625 21.17653 \n",
       "L 183.777625 21.147727 \n",
       "L 197.169625 21.148212 \n",
       "L 210.561625 21.179363 \n",
       "L 223.953625 21.248304 \n",
       "L 237.345625 21.372718 \n",
       "L 250.737625 21.596258 \n",
       "L 259.074878 21.871219 \n",
       "L 255.050115 32.743219 \n",
       "L 250.737625 34.394202 \n",
       "L 237.345625 37.98656 \n",
       "L 223.953625 40.799052 \n",
       "L 210.561625 42.889264 \n",
       "L 203.194798 43.615219 \n",
       "L 197.169625 44.222134 \n",
       "L 183.777625 44.783215 \n",
       "L 170.385625 44.598489 \n",
       "L 156.993625 43.660001 \n",
       "\" style=\"fill:none;stroke:#443983;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_5\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 130.209625 44.745147 \n",
       "L 126.245412 43.615219 \n",
       "L 116.817625 41.099816 \n",
       "L 103.425625 36.480378 \n",
       "L 95.244362 32.743219 \n",
       "L 93.546333 21.871219 \n",
       "L 103.425625 21.403426 \n",
       "L 116.817625 21.030662 \n",
       "L 130.209625 20.799213 \n",
       "L 143.601625 20.650473 \n",
       "L 156.993625 20.555203 \n",
       "L 170.385625 20.498043 \n",
       "L 183.777625 20.47116 \n",
       "L 197.169625 20.471613 \n",
       "L 210.561625 20.500687 \n",
       "L 223.953625 20.565032 \n",
       "L 237.345625 20.681152 \n",
       "L 250.737625 20.889789 \n",
       "L 264.129625 21.308598 \n",
       "L 271.461154 21.871219 \n",
       "L 264.849976 32.743219 \n",
       "L 264.129625 33.187672 \n",
       "L 250.737625 38.369315 \n",
       "L 237.345625 42.446994 \n",
       "L 232.252536 43.615219 \n",
       "L 223.953625 45.746058 \n",
       "L 210.561625 48.121976 \n",
       "L 197.169625 49.627692 \n",
       "L 183.777625 50.308259 \n",
       "L 170.385625 50.177521 \n",
       "L 156.993625 49.231432 \n",
       "L 143.601625 47.443691 \n",
       "L 130.209625 44.745147 \n",
       "\" style=\"fill:none;stroke:#3e4989;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_6\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 156.993625 54.83285 \n",
       "L 154.724144 54.487219 \n",
       "L 143.601625 52.956538 \n",
       "L 130.209625 50.166965 \n",
       "L 116.817625 46.302761 \n",
       "L 110.005322 43.615219 \n",
       "L 103.425625 41.278049 \n",
       "L 90.033625 35.054829 \n",
       "L 86.47626 32.743219 \n",
       "L 82.659258 21.871219 \n",
       "L 90.033625 21.258663 \n",
       "L 103.425625 20.660269 \n",
       "L 116.817625 20.314131 \n",
       "L 130.209625 20.099213 \n",
       "L 143.601625 19.961098 \n",
       "L 156.993625 19.872632 \n",
       "L 170.385625 19.819555 \n",
       "L 183.777625 19.794593 \n",
       "L 197.169625 19.795013 \n",
       "L 210.561625 19.82201 \n",
       "L 223.953625 19.881759 \n",
       "L 237.345625 19.989585 \n",
       "L 250.737625 20.18332 \n",
       "L 264.129625 20.572214 \n",
       "L 277.521625 21.571592 \n",
       "L 278.814253 21.871219 \n",
       "L 277.521625 24.410818 \n",
       "L 270.586851 32.743219 \n",
       "L 264.129625 36.727296 \n",
       "L 250.737625 42.344428 \n",
       "L 246.690232 43.615219 \n",
       "L 237.345625 47.114719 \n",
       "L 223.953625 50.73906 \n",
       "L 210.561625 53.345853 \n",
       "L 201.403586 54.487219 \n",
       "L 197.169625 55.087219 \n",
       "L 183.777625 55.955245 \n",
       "L 170.385625 55.870158 \n",
       "L 156.993625 54.83285 \n",
       "\" style=\"fill:none;stroke:#375a8c;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_7\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 130.209625 55.729041 \n",
       "L 126.528484 54.487219 \n",
       "L 116.817625 51.631291 \n",
       "L 103.425625 46.324925 \n",
       "L 98.444445 43.615219 \n",
       "L 90.033625 39.642482 \n",
       "L 79.416265 32.743219 \n",
       "L 76.641625 27.118355 \n",
       "L 74.664656 21.871219 \n",
       "L 76.641625 21.548911 \n",
       "L 90.033625 20.469475 \n",
       "L 103.425625 19.917111 \n",
       "L 116.817625 19.597599 \n",
       "L 130.209625 19.399214 \n",
       "L 143.601625 19.271722 \n",
       "L 156.993625 19.190062 \n",
       "L 170.385625 19.141068 \n",
       "L 183.777625 19.118025 \n",
       "L 197.169625 19.118413 \n",
       "L 210.561625 19.143334 \n",
       "L 223.953625 19.198487 \n",
       "L 237.345625 19.298018 \n",
       "L 250.737625 19.47685 \n",
       "L 264.129625 19.835829 \n",
       "L 277.521625 20.758332 \n",
       "L 282.322753 21.871219 \n",
       "L 277.521625 31.303897 \n",
       "L 276.323726 32.743219 \n",
       "L 264.129625 40.26692 \n",
       "L 256.339897 43.615219 \n",
       "L 250.737625 46.693782 \n",
       "L 237.345625 51.855999 \n",
       "L 228.105007 54.487219 \n",
       "L 223.953625 55.911721 \n",
       "L 210.561625 59.042466 \n",
       "L 197.169625 61.027069 \n",
       "L 183.777625 61.980806 \n",
       "L 170.385625 61.948515 \n",
       "L 156.993625 60.933574 \n",
       "L 143.601625 58.896693 \n",
       "L 130.209625 55.729041 \n",
       "\" style=\"fill:none;stroke:#31688e;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_8\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 156.993625 67.219417 \n",
       "L 145.959274 65.359219 \n",
       "L 143.601625 65.001098 \n",
       "L 130.209625 61.841203 \n",
       "L 116.817625 57.347168 \n",
       "L 110.657953 54.487219 \n",
       "L 103.425625 51.608517 \n",
       "L 90.033625 44.336428 \n",
       "L 89.087661 43.615219 \n",
       "L 76.641625 35.527087 \n",
       "L 73.77482 32.743219 \n",
       "L 69.272191 21.871219 \n",
       "L 76.641625 20.66977 \n",
       "L 90.033625 19.680287 \n",
       "L 103.425625 19.173953 \n",
       "L 116.817625 18.881067 \n",
       "L 130.209625 18.699214 \n",
       "L 143.601625 18.582347 \n",
       "L 156.993625 18.507492 \n",
       "L 170.385625 18.46258 \n",
       "L 183.777625 18.441458 \n",
       "L 197.169625 18.441814 \n",
       "L 210.561625 18.464658 \n",
       "L 223.953625 18.515215 \n",
       "L 237.345625 18.606452 \n",
       "L 250.737625 18.770381 \n",
       "L 264.129625 19.099445 \n",
       "L 277.521625 19.945073 \n",
       "L 285.831253 21.871219 \n",
       "L 279.875448 32.743219 \n",
       "L 277.521625 35.386866 \n",
       "L 264.417259 43.615219 \n",
       "L 264.129625 43.856585 \n",
       "L 250.737625 51.218996 \n",
       "L 242.45156 54.487219 \n",
       "L 237.345625 56.996422 \n",
       "L 223.953625 61.625323 \n",
       "L 210.561625 64.871244 \n",
       "L 207.397931 65.359219 \n",
       "L 197.169625 67.155005 \n",
       "L 183.777625 68.29252 \n",
       "L 170.385625 68.309971 \n",
       "L 156.993625 67.219417 \n",
       "\" style=\"fill:none;stroke:#2b758e;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_9\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 130.209625 68.313218 \n",
       "L 122.363193 65.359219 \n",
       "L 116.817625 63.510441 \n",
       "L 103.425625 57.367065 \n",
       "L 98.882464 54.487219 \n",
       "L 90.033625 49.717092 \n",
       "L 82.030188 43.615219 \n",
       "L 76.641625 40.113428 \n",
       "L 69.051845 32.743219 \n",
       "L 63.879726 21.871219 \n",
       "L 76.641625 19.790629 \n",
       "L 90.033625 18.891099 \n",
       "L 103.425625 18.430796 \n",
       "L 116.817625 18.164536 \n",
       "L 130.209625 17.999215 \n",
       "L 143.601625 17.892972 \n",
       "L 156.993625 17.824921 \n",
       "L 170.385625 17.784093 \n",
       "L 183.777625 17.764891 \n",
       "L 197.169625 17.765214 \n",
       "L 210.561625 17.785982 \n",
       "L 223.953625 17.831942 \n",
       "L 237.345625 17.914885 \n",
       "L 250.737625 18.063912 \n",
       "L 264.129625 18.363061 \n",
       "L 277.521625 19.131813 \n",
       "L 289.339753 21.871219 \n",
       "L 282.850477 32.743219 \n",
       "L 277.521625 38.728207 \n",
       "L 269.738635 43.615219 \n",
       "L 264.129625 48.321997 \n",
       "L 252.98068 54.487219 \n",
       "L 250.737625 56.068071 \n",
       "L 237.345625 62.63457 \n",
       "L 229.545956 65.359219 \n",
       "L 223.953625 67.657638 \n",
       "L 210.561625 71.415585 \n",
       "L 197.169625 73.789767 \n",
       "L 183.777625 74.969436 \n",
       "L 170.385625 75.033379 \n",
       "L 156.993625 73.994354 \n",
       "L 143.601625 71.802209 \n",
       "L 130.209625 68.313218 \n",
       "\" style=\"fill:none;stroke:#26828e;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_10\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 143.601625 78.965455 \n",
       "L 133.967168 76.231219 \n",
       "L 130.209625 75.273243 \n",
       "L 116.817625 70.379761 \n",
       "L 107.0846 65.359219 \n",
       "L 103.425625 63.694145 \n",
       "L 90.033625 55.251848 \n",
       "L 89.161617 54.487219 \n",
       "L 76.641625 44.993285 \n",
       "L 75.403914 43.615219 \n",
       "L 64.32887 32.743219 \n",
       "L 63.249625 30.508404 \n",
       "L 60.549427 21.871219 \n",
       "L 63.249625 20.899704 \n",
       "L 76.641625 18.911488 \n",
       "L 90.033625 18.101911 \n",
       "L 103.425625 17.687638 \n",
       "L 116.817625 17.448004 \n",
       "L 130.209625 17.299215 \n",
       "L 143.601625 17.203596 \n",
       "L 156.993625 17.142351 \n",
       "L 170.385625 17.105606 \n",
       "L 183.777625 17.088324 \n",
       "L 197.169625 17.088615 \n",
       "L 210.561625 17.107305 \n",
       "L 223.953625 17.14867 \n",
       "L 237.345625 17.223319 \n",
       "L 250.737625 17.357442 \n",
       "L 264.129625 17.626677 \n",
       "L 277.521625 18.318554 \n",
       "L 290.913625 21.243568 \n",
       "L 291.686758 21.871219 \n",
       "L 290.913625 24.521873 \n",
       "L 285.825507 32.743219 \n",
       "L 277.521625 42.069549 \n",
       "L 275.060012 43.615219 \n",
       "L 264.129625 52.787409 \n",
       "L 261.055755 54.487219 \n",
       "L 250.737625 61.759195 \n",
       "L 243.366846 65.359219 \n",
       "L 237.345625 68.857648 \n",
       "L 223.953625 74.291073 \n",
       "L 217.007695 76.231219 \n",
       "L 210.561625 78.287823 \n",
       "L 197.169625 80.972902 \n",
       "L 183.777625 82.307949 \n",
       "L 170.385625 82.418505 \n",
       "L 156.993625 81.327769 \n",
       "L 143.601625 78.965455 \n",
       "\" style=\"fill:none;stroke:#21918c;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_11\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 156.993625 89.180422 \n",
       "L 145.916662 87.103219 \n",
       "L 143.601625 86.713082 \n",
       "L 130.209625 83.112215 \n",
       "L 116.817625 77.771719 \n",
       "L 114.025312 76.231219 \n",
       "L 103.425625 70.938911 \n",
       "L 95.446819 65.359219 \n",
       "L 90.033625 61.990533 \n",
       "L 81.476602 54.487219 \n",
       "L 76.641625 50.820846 \n",
       "L 70.169888 43.615219 \n",
       "L 63.249625 36.749432 \n",
       "L 60.744458 32.743219 \n",
       "L 57.491971 21.871219 \n",
       "L 63.249625 19.79965 \n",
       "L 76.641625 18.032347 \n",
       "L 90.033625 17.312723 \n",
       "L 103.425625 16.94448 \n",
       "L 116.817625 16.731472 \n",
       "L 130.209625 16.599215 \n",
       "L 143.601625 16.514221 \n",
       "L 156.993625 16.459781 \n",
       "L 170.385625 16.427118 \n",
       "L 183.777625 16.411757 \n",
       "L 197.169625 16.412015 \n",
       "L 210.561625 16.428629 \n",
       "L 223.953625 16.465398 \n",
       "L 237.345625 16.531752 \n",
       "L 250.737625 16.650973 \n",
       "L 264.129625 16.890293 \n",
       "L 277.521625 17.505294 \n",
       "L 290.913625 20.105307 \n",
       "L 293.088854 21.871219 \n",
       "L 290.913625 29.328905 \n",
       "L 288.800536 32.743219 \n",
       "L 279.400587 43.615219 \n",
       "L 277.521625 46.245666 \n",
       "L 267.730906 54.487219 \n",
       "L 264.129625 58.249516 \n",
       "L 253.937399 65.359219 \n",
       "L 250.737625 67.987195 \n",
       "L 237.345625 75.62774 \n",
       "L 235.847182 76.231219 \n",
       "L 223.953625 81.721936 \n",
       "L 210.561625 85.864699 \n",
       "L 204.241207 87.103219 \n",
       "L 197.169625 88.668698 \n",
       "L 183.777625 90.15991 \n",
       "L 170.385625 90.318726 \n",
       "L 156.993625 89.180422 \n",
       "\" style=\"fill:none;stroke:#1f9e89;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_12\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 170.385625 98.950366 \n",
       "L 159.227852 97.975219 \n",
       "L 156.993625 97.801634 \n",
       "L 143.601625 95.491877 \n",
       "L 130.209625 91.696753 \n",
       "L 119.326627 87.103219 \n",
       "L 116.817625 86.139037 \n",
       "L 103.425625 78.950763 \n",
       "L 99.770957 76.231219 \n",
       "L 90.033625 69.533929 \n",
       "L 85.682204 65.359219 \n",
       "L 76.641625 57.347029 \n",
       "L 74.376435 54.487219 \n",
       "L 64.935863 43.615219 \n",
       "L 63.249625 41.942255 \n",
       "L 57.497279 32.743219 \n",
       "L 54.434514 21.871219 \n",
       "L 63.249625 18.699597 \n",
       "L 76.641625 17.153206 \n",
       "L 90.033625 16.523535 \n",
       "L 103.425625 16.201323 \n",
       "L 116.817625 16.014941 \n",
       "L 130.209625 15.899216 \n",
       "L 143.601625 15.824846 \n",
       "L 156.993625 15.777211 \n",
       "L 170.385625 15.748631 \n",
       "L 183.777625 15.735189 \n",
       "L 197.169625 15.735416 \n",
       "L 210.561625 15.749953 \n",
       "L 223.953625 15.782125 \n",
       "L 237.345625 15.840185 \n",
       "L 250.737625 15.944504 \n",
       "L 264.129625 16.153908 \n",
       "L 277.521625 16.692035 \n",
       "L 290.913625 18.967046 \n",
       "L 294.49095 21.871219 \n",
       "L 291.445881 32.743219 \n",
       "L 290.913625 33.962867 \n",
       "L 282.896912 43.615219 \n",
       "L 277.521625 51.140335 \n",
       "L 273.545627 54.487219 \n",
       "L 264.129625 64.324217 \n",
       "L 262.645881 65.359219 \n",
       "L 250.737625 75.139477 \n",
       "L 248.815499 76.231219 \n",
       "L 237.345625 83.64834 \n",
       "L 229.571317 87.103219 \n",
       "L 223.953625 89.896157 \n",
       "L 210.561625 94.419859 \n",
       "L 197.169625 97.228497 \n",
       "L 190.164765 97.975219 \n",
       "L 183.777625 98.746241 \n",
       "L 170.385625 98.950366 \n",
       "\" style=\"fill:none;stroke:#25ab82;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_13\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 130.209625 101.339884 \n",
       "L 122.421261 97.975219 \n",
       "L 116.817625 95.747938 \n",
       "L 103.425625 88.147165 \n",
       "L 102.07315 87.103219 \n",
       "L 90.033625 78.251199 \n",
       "L 88.043908 76.231219 \n",
       "L 76.981061 65.359219 \n",
       "L 76.641625 65.058395 \n",
       "L 68.26844 54.487219 \n",
       "L 63.249625 48.529744 \n",
       "L 60.491342 43.615219 \n",
       "L 54.2501 32.743219 \n",
       "L 51.377057 21.871219 \n",
       "L 63.249625 17.599543 \n",
       "L 76.641625 16.274065 \n",
       "L 90.033625 15.734347 \n",
       "L 103.425625 15.458165 \n",
       "L 116.817625 15.298409 \n",
       "L 130.209625 15.199216 \n",
       "L 143.601625 15.13547 \n",
       "L 156.993625 15.09464 \n",
       "L 170.385625 15.070143 \n",
       "L 183.777625 15.058622 \n",
       "L 197.169625 15.058816 \n",
       "L 210.561625 15.071276 \n",
       "L 223.953625 15.098853 \n",
       "L 237.345625 15.148619 \n",
       "L 250.737625 15.238035 \n",
       "L 264.129625 15.417524 \n",
       "L 277.521625 15.878775 \n",
       "L 290.913625 17.828785 \n",
       "L 295.893047 21.871219 \n",
       "L 293.282987 32.743219 \n",
       "L 290.913625 38.172542 \n",
       "L 286.393237 43.615219 \n",
       "L 278.90798 54.487219 \n",
       "L 277.521625 56.825895 \n",
       "L 269.731164 65.359219 \n",
       "L 264.129625 72.073563 \n",
       "L 259.075012 76.231219 \n",
       "L 250.737625 83.782638 \n",
       "L 245.475784 87.103219 \n",
       "L 237.345625 92.728429 \n",
       "L 226.284521 97.975219 \n",
       "L 223.953625 99.186419 \n",
       "L 210.561625 103.993142 \n",
       "L 197.169625 106.946518 \n",
       "L 183.777625 108.439395 \n",
       "L 170.385625 108.648253 \n",
       "L 156.993625 107.613475 \n",
       "L 143.601625 105.255339 \n",
       "L 130.209625 101.339884 \n",
       "\" style=\"fill:none;stroke:#35b779;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_14\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 170.385625 119.732874 \n",
       "L 170.226935 119.719219 \n",
       "L 156.993625 118.714277 \n",
       "L 143.601625 116.370852 \n",
       "L 130.209625 112.452146 \n",
       "L 121.926262 108.847219 \n",
       "L 116.817625 106.78475 \n",
       "L 103.425625 99.036787 \n",
       "L 102.074319 97.975219 \n",
       "L 90.033625 88.754851 \n",
       "L 88.458941 87.103219 \n",
       "L 77.980457 76.231219 \n",
       "L 76.641625 74.909132 \n",
       "L 69.674009 65.359219 \n",
       "L 63.249625 56.308645 \n",
       "L 62.339011 54.487219 \n",
       "L 56.422067 43.615219 \n",
       "L 51.002921 32.743219 \n",
       "L 49.857625 28.262204 \n",
       "L 48.633444 21.871219 \n",
       "L 49.857625 20.877394 \n",
       "L 63.249625 16.499489 \n",
       "L 76.641625 15.394924 \n",
       "L 90.033625 14.945159 \n",
       "L 103.425625 14.715007 \n",
       "L 116.817625 14.581877 \n",
       "L 130.209625 14.499217 \n",
       "L 143.601625 14.446095 \n",
       "L 156.993625 14.41207 \n",
       "L 170.385625 14.391656 \n",
       "L 183.777625 14.382055 \n",
       "L 197.169625 14.382217 \n",
       "L 210.561625 14.3926 \n",
       "L 223.953625 14.41558 \n",
       "L 237.345625 14.457052 \n",
       "L 250.737625 14.531565 \n",
       "L 264.129625 14.68114 \n",
       "L 277.521625 15.065516 \n",
       "L 290.913625 16.690524 \n",
       "L 297.295143 21.871219 \n",
       "L 295.120093 32.743219 \n",
       "L 290.913625 42.382217 \n",
       "L 289.889562 43.615219 \n",
       "L 283.292146 54.487219 \n",
       "L 277.521625 64.221654 \n",
       "L 276.483091 65.359219 \n",
       "L 268.030609 76.231219 \n",
       "L 264.129625 81.345226 \n",
       "L 257.888842 87.103219 \n",
       "L 250.737625 93.992452 \n",
       "L 244.855018 97.975219 \n",
       "L 237.345625 103.380821 \n",
       "L 226.25997 108.847219 \n",
       "L 223.953625 110.071524 \n",
       "L 210.561625 114.989716 \n",
       "L 197.169625 117.990458 \n",
       "L 183.777625 119.505438 \n",
       "L 171.090907 119.719219 \n",
       "L 170.385625 119.732874 \n",
       "\" style=\"fill:none;stroke:#4ec36b;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_15\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 156.993625 131.700591 \n",
       "L 151.122876 130.591219 \n",
       "L 143.601625 129.315075 \n",
       "L 130.209625 125.558438 \n",
       "L 116.817625 119.770272 \n",
       "L 116.73032 119.719219 \n",
       "L 103.425625 112.237807 \n",
       "L 99.120702 108.847219 \n",
       "L 90.033625 101.748886 \n",
       "L 86.487662 97.975219 \n",
       "L 76.66868 87.103219 \n",
       "L 76.641625 87.074518 \n",
       "L 69.130112 76.231219 \n",
       "L 63.249625 66.921951 \n",
       "L 62.527146 65.359219 \n",
       "L 57.232397 54.487219 \n",
       "L 52.352791 43.615219 \n",
       "L 49.857625 38.32638 \n",
       "L 47.99233 32.743219 \n",
       "L 46.19988 21.871219 \n",
       "L 49.857625 18.901759 \n",
       "L 63.249625 15.399435 \n",
       "L 76.641625 14.515783 \n",
       "L 90.033625 14.155971 \n",
       "L 103.425625 13.971849 \n",
       "L 116.817625 13.865345 \n",
       "L 130.209625 13.799217 \n",
       "L 143.601625 13.75672 \n",
       "L 156.993625 13.7295 \n",
       "L 170.385625 13.713168 \n",
       "L 183.777625 13.705488 \n",
       "L 197.169625 13.705617 \n",
       "L 210.561625 13.713924 \n",
       "L 223.953625 13.732308 \n",
       "L 237.345625 13.765485 \n",
       "L 250.737625 13.825096 \n",
       "L 264.129625 13.944756 \n",
       "L 277.521625 14.252257 \n",
       "L 290.913625 15.552263 \n",
       "L 298.697239 21.871219 \n",
       "L 296.9572 32.743219 \n",
       "L 292.925377 43.615219 \n",
       "L 290.913625 48.933486 \n",
       "L 287.676313 54.487219 \n",
       "L 282.195904 65.359219 \n",
       "L 277.521625 74.297066 \n",
       "L 276.052666 76.231219 \n",
       "L 268.481055 87.103219 \n",
       "L 264.129625 93.143255 \n",
       "L 259.278466 97.975219 \n",
       "L 250.737625 106.502586 \n",
       "L 247.418533 108.847219 \n",
       "L 237.345625 116.230946 \n",
       "L 230.388743 119.719219 \n",
       "L 223.953625 123.14379 \n",
       "L 210.561625 127.925112 \n",
       "L 198.310714 130.591219 \n",
       "L 197.169625 130.866193 \n",
       "L 183.777625 132.555481 \n",
       "L 170.385625 132.812665 \n",
       "L 156.993625 131.700591 \n",
       "\" style=\"fill:none;stroke:#6ece58;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_16\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 143.601625 145.194607 \n",
       "L 130.762477 141.463219 \n",
       "L 130.209625 141.315506 \n",
       "L 116.817625 136.111763 \n",
       "L 107.17893 130.591219 \n",
       "L 103.425625 128.507743 \n",
       "L 92.151443 119.719219 \n",
       "L 90.033625 118.060511 \n",
       "L 81.376883 108.847219 \n",
       "L 76.641625 103.489756 \n",
       "L 72.976776 97.975219 \n",
       "L 66.278999 87.103219 \n",
       "L 63.249625 81.929927 \n",
       "L 60.743492 76.231219 \n",
       "L 56.185954 65.359219 \n",
       "L 52.125782 54.487219 \n",
       "L 49.857625 48.67617 \n",
       "L 48.328053 43.615219 \n",
       "L 45.110654 32.743219 \n",
       "L 43.766316 21.871219 \n",
       "L 49.857625 16.926124 \n",
       "L 63.249625 14.299381 \n",
       "L 76.641625 13.636642 \n",
       "L 90.033625 13.366783 \n",
       "L 103.425625 13.228692 \n",
       "L 116.817625 13.148814 \n",
       "L 130.209625 13.099218 \n",
       "L 143.601625 13.067345 \n",
       "L 156.993625 13.04693 \n",
       "L 170.385625 13.034681 \n",
       "L 183.777625 13.02892 \n",
       "L 197.169625 13.029017 \n",
       "L 210.561625 13.035248 \n",
       "L 223.953625 13.049036 \n",
       "L 237.345625 13.073919 \n",
       "L 250.737625 13.118627 \n",
       "L 264.129625 13.208371 \n",
       "L 277.521625 13.438997 \n",
       "L 290.913625 14.414002 \n",
       "L 300.099336 21.871219 \n",
       "L 298.794306 32.743219 \n",
       "L 295.770439 43.615219 \n",
       "L 291.987707 54.487219 \n",
       "L 290.913625 57.873896 \n",
       "L 287.719835 65.359219 \n",
       "L 283.155552 76.231219 \n",
       "L 278.032575 87.103219 \n",
       "L 277.521625 88.228506 \n",
       "L 271.514514 97.975219 \n",
       "L 264.129625 108.571851 \n",
       "L 263.865721 108.847219 \n",
       "L 253.620734 119.719219 \n",
       "L 250.737625 122.639052 \n",
       "L 239.685628 130.591219 \n",
       "L 237.345625 132.279614 \n",
       "L 223.953625 139.118223 \n",
       "L 216.935832 141.463219 \n",
       "L 210.561625 143.750436 \n",
       "L 197.169625 146.76614 \n",
       "L 183.777625 148.272272 \n",
       "L 170.385625 148.499386 \n",
       "L 156.993625 147.504781 \n",
       "L 143.601625 145.194607 \n",
       "\" style=\"fill:none;stroke:#90d743;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_17\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 143.601625 165.163744 \n",
       "L 136.017053 163.207219 \n",
       "L 130.209625 161.814915 \n",
       "L 116.817625 157.017117 \n",
       "L 107.914169 152.335219 \n",
       "L 103.425625 150.015652 \n",
       "L 91.792452 141.463219 \n",
       "L 90.033625 140.140065 \n",
       "L 80.725124 130.591219 \n",
       "L 76.641625 126.01725 \n",
       "L 72.387641 119.719219 \n",
       "L 65.88734 108.847219 \n",
       "L 63.249625 104.034508 \n",
       "L 60.686778 97.975219 \n",
       "L 56.496905 87.103219 \n",
       "L 52.943227 76.231219 \n",
       "L 49.857625 65.414687 \n",
       "L 49.844056 65.359219 \n",
       "L 46.945157 54.487219 \n",
       "L 44.37391 43.615219 \n",
       "L 42.228978 32.743219 \n",
       "L 41.332753 21.871219 \n",
       "L 49.857625 14.950489 \n",
       "L 63.249625 13.199327 \n",
       "L 76.641625 12.757501 \n",
       "L 90.033625 12.577595 \n",
       "L 103.425625 12.485534 \n",
       "L 116.817625 12.432282 \n",
       "L 130.209625 12.399218 \n",
       "L 143.601625 12.377969 \n",
       "L 156.993625 12.364359 \n",
       "L 170.385625 12.356194 \n",
       "L 183.777625 12.352353 \n",
       "L 197.169625 12.352418 \n",
       "L 210.561625 12.356571 \n",
       "L 223.953625 12.365763 \n",
       "L 237.345625 12.382352 \n",
       "L 250.737625 12.412157 \n",
       "L 264.129625 12.471987 \n",
       "L 277.521625 12.625738 \n",
       "L 290.913625 13.275741 \n",
       "L 301.501432 21.871219 \n",
       "L 300.631412 32.743219 \n",
       "L 298.615501 43.615219 \n",
       "L 296.09368 54.487219 \n",
       "L 293.246204 65.359219 \n",
       "L 290.913625 73.747918 \n",
       "L 290.052395 76.231219 \n",
       "L 286.559992 87.103219 \n",
       "L 282.556928 97.975219 \n",
       "L 277.838795 108.847219 \n",
       "L 277.521625 109.579695 \n",
       "L 271.718684 119.719219 \n",
       "L 264.253547 130.591219 \n",
       "L 264.129625 130.767997 \n",
       "L 253.91573 141.463219 \n",
       "L 250.737625 144.522136 \n",
       "L 239.190802 152.335219 \n",
       "L 237.345625 153.557816 \n",
       "L 223.953625 159.875114 \n",
       "L 212.810788 163.207219 \n",
       "L 210.561625 163.917941 \n",
       "L 197.169625 166.638171 \n",
       "L 183.777625 167.987428 \n",
       "L 170.385625 168.180414 \n",
       "L 156.993625 167.26929 \n",
       "L 143.601625 165.163744 \n",
       "\" style=\"fill:none;stroke:#b5de2b;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_18\">\n",
       "    <path clip-path=\"url(#pc35a8231e8)\" d=\"M 116.817625 186.079418 \n",
       "L 113.826324 184.951219 \n",
       "L 103.425625 180.961222 \n",
       "L 91.610003 174.079219 \n",
       "L 90.033625 173.112457 \n",
       "L 78.628258 163.207219 \n",
       "L 76.641625 161.271526 \n",
       "L 69.835882 152.335219 \n",
       "L 63.312185 141.463219 \n",
       "L 63.249625 141.353723 \n",
       "L 58.479176 130.591219 \n",
       "L 54.665174 119.719219 \n",
       "L 51.594621 108.847219 \n",
       "L 49.857625 101.824672 \n",
       "L 49.012324 97.975219 \n",
       "L 46.73899 87.103219 \n",
       "L 44.812549 76.231219 \n",
       "L 43.15484 65.359219 \n",
       "L 41.705391 54.487219 \n",
       "L 40.419768 43.615219 \n",
       "L 39.347301 32.743219 \n",
       "L 38.899189 21.871219 \n",
       "L 49.857625 12.974854 \n",
       "L 63.249625 12.099273 \n",
       "L 76.641625 11.87836 \n",
       "L 90.033625 11.788407 \n",
       "L 103.425625 11.742376 \n",
       "L 116.817625 11.71575 \n",
       "L 130.209625 11.699218 \n",
       "L 143.601625 11.688594 \n",
       "L 156.993625 11.681789 \n",
       "L 170.385625 11.677706 \n",
       "L 183.777625 11.675786 \n",
       "L 197.169625 11.675818 \n",
       "L 210.561625 11.677895 \n",
       "L 223.953625 11.682491 \n",
       "L 237.345625 11.690785 \n",
       "L 250.737625 11.705688 \n",
       "L 264.129625 11.735603 \n",
       "L 277.521625 11.812478 \n",
       "L 290.913625 12.13748 \n",
       "L 302.903529 21.871219 \n",
       "L 302.468519 32.743219 \n",
       "L 301.460563 43.615219 \n",
       "L 300.199652 54.487219 \n",
       "L 298.775915 65.359219 \n",
       "L 297.163708 76.231219 \n",
       "L 295.314415 87.103219 \n",
       "L 293.161397 97.975219 \n",
       "L 290.913625 107.79289 \n",
       "L 290.636421 108.847219 \n",
       "L 287.787435 119.719219 \n",
       "L 284.308315 130.591219 \n",
       "L 279.961792 141.463219 \n",
       "L 277.521625 146.80365 \n",
       "L 274.171013 152.335219 \n",
       "L 266.29184 163.207219 \n",
       "L 264.129625 165.822448 \n",
       "L 254.470713 174.079219 \n",
       "L 250.737625 176.902913 \n",
       "L 237.345625 183.796516 \n",
       "L 233.993324 184.951219 \n",
       "L 223.953625 188.380056 \n",
       "L 210.561625 191.324539 \n",
       "L 197.169625 193.080383 \n",
       "L 183.777625 193.946616 \n",
       "L 170.385625 194.061925 \n",
       "L 156.993625 193.45829 \n",
       "L 143.601625 192.073436 \n",
       "L 130.209625 189.731574 \n",
       "L 116.817625 186.079418 \n",
       "\" style=\"fill:none;stroke:#dae319;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_19\"/>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 36.465625 228.439219 \n",
       "L 36.465625 10.999219 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_4\">\n",
       "    <path d=\"M 304.305625 228.439219 \n",
       "L 304.305625 10.999219 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_5\">\n",
       "    <path d=\"M 36.465625 228.439219 \n",
       "L 304.305625 228.439219 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_6\">\n",
       "    <path d=\"M 36.465625 10.999219 \n",
       "L 304.305625 10.999219 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "  </g>\n",
       "  <g id=\"axes_2\">\n",
       "   <g id=\"patch_7\">\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 228.439219 \n",
       "L 321.045625 216.359219 \n",
       "L 321.045625 23.079219 \n",
       "L 321.045625 10.999219 \n",
       "L 331.917625 10.999219 \n",
       "L 331.917625 23.079219 \n",
       "L 331.917625 216.359219 \n",
       "L 331.917625 228.439219 \n",
       "z\n",
       "\" style=\"fill:#ffffff;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.01;\"/>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_3\"/>\n",
       "   <g id=\"matplotlib.axis_4\">\n",
       "    <g id=\"ytick_10\">\n",
       "     <g id=\"line2d_19\">\n",
       "      <defs>\n",
       "       <path d=\"M 0 0 \n",
       "L 3.5 0 \n",
       "\" id=\"m9a8b6a58c9\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"331.917625\" xlink:href=\"#m9a8b6a58c9\" y=\"228.439219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_19\">\n",
       "      <!-- −0.18 -->\n",
       "      <defs>\n",
       "       <path d=\"M 10.59375 35.5 \n",
       "L 73.1875 35.5 \n",
       "L 73.1875 27.203125 \n",
       "L 10.59375 27.203125 \n",
       "z\n",
       "\" id=\"DejaVuSans-8722\"/>\n",
       "       <path d=\"M 31.78125 34.625 \n",
       "Q 24.75 34.625 20.71875 30.859375 \n",
       "Q 16.703125 27.09375 16.703125 20.515625 \n",
       "Q 16.703125 13.921875 20.71875 10.15625 \n",
       "Q 24.75 6.390625 31.78125 6.390625 \n",
       "Q 38.8125 6.390625 42.859375 10.171875 \n",
       "Q 46.921875 13.96875 46.921875 20.515625 \n",
       "Q 46.921875 27.09375 42.890625 30.859375 \n",
       "Q 38.875 34.625 31.78125 34.625 \n",
       "z\n",
       "M 21.921875 38.8125 \n",
       "Q 15.578125 40.375 12.03125 44.71875 \n",
       "Q 8.5 49.078125 8.5 55.328125 \n",
       "Q 8.5 64.0625 14.71875 69.140625 \n",
       "Q 20.953125 74.21875 31.78125 74.21875 \n",
       "Q 42.671875 74.21875 48.875 69.140625 \n",
       "Q 55.078125 64.0625 55.078125 55.328125 \n",
       "Q 55.078125 49.078125 51.53125 44.71875 \n",
       "Q 48 40.375 41.703125 38.8125 \n",
       "Q 48.828125 37.15625 52.796875 32.3125 \n",
       "Q 56.78125 27.484375 56.78125 20.515625 \n",
       "Q 56.78125 9.90625 50.3125 4.234375 \n",
       "Q 43.84375 -1.421875 31.78125 -1.421875 \n",
       "Q 19.734375 -1.421875 13.25 4.234375 \n",
       "Q 6.78125 9.90625 6.78125 20.515625 \n",
       "Q 6.78125 27.484375 10.78125 32.3125 \n",
       "Q 14.796875 37.15625 21.921875 38.8125 \n",
       "z\n",
       "M 18.3125 54.390625 \n",
       "Q 18.3125 48.734375 21.84375 45.5625 \n",
       "Q 25.390625 42.390625 31.78125 42.390625 \n",
       "Q 38.140625 42.390625 41.71875 45.5625 \n",
       "Q 45.3125 48.734375 45.3125 54.390625 \n",
       "Q 45.3125 60.0625 41.71875 63.234375 \n",
       "Q 38.140625 66.40625 31.78125 66.40625 \n",
       "Q 25.390625 66.40625 21.84375 63.234375 \n",
       "Q 18.3125 60.0625 18.3125 54.390625 \n",
       "z\n",
       "\" id=\"DejaVuSans-56\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(338.917625 232.238437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-56\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_11\">\n",
       "     <g id=\"line2d_20\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"331.917625\" xlink:href=\"#m9a8b6a58c9\" y=\"204.279219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_20\">\n",
       "      <!-- −0.16 -->\n",
       "      <defs>\n",
       "       <path d=\"M 33.015625 40.375 \n",
       "Q 26.375 40.375 22.484375 35.828125 \n",
       "Q 18.609375 31.296875 18.609375 23.390625 \n",
       "Q 18.609375 15.53125 22.484375 10.953125 \n",
       "Q 26.375 6.390625 33.015625 6.390625 \n",
       "Q 39.65625 6.390625 43.53125 10.953125 \n",
       "Q 47.40625 15.53125 47.40625 23.390625 \n",
       "Q 47.40625 31.296875 43.53125 35.828125 \n",
       "Q 39.65625 40.375 33.015625 40.375 \n",
       "z\n",
       "M 52.59375 71.296875 \n",
       "L 52.59375 62.3125 \n",
       "Q 48.875 64.0625 45.09375 64.984375 \n",
       "Q 41.3125 65.921875 37.59375 65.921875 \n",
       "Q 27.828125 65.921875 22.671875 59.328125 \n",
       "Q 17.53125 52.734375 16.796875 39.40625 \n",
       "Q 19.671875 43.65625 24.015625 45.921875 \n",
       "Q 28.375 48.1875 33.59375 48.1875 \n",
       "Q 44.578125 48.1875 50.953125 41.515625 \n",
       "Q 57.328125 34.859375 57.328125 23.390625 \n",
       "Q 57.328125 12.15625 50.6875 5.359375 \n",
       "Q 44.046875 -1.421875 33.015625 -1.421875 \n",
       "Q 20.359375 -1.421875 13.671875 8.265625 \n",
       "Q 6.984375 17.96875 6.984375 36.375 \n",
       "Q 6.984375 53.65625 15.1875 63.9375 \n",
       "Q 23.390625 74.21875 37.203125 74.21875 \n",
       "Q 40.921875 74.21875 44.703125 73.484375 \n",
       "Q 48.484375 72.75 52.59375 71.296875 \n",
       "z\n",
       "\" id=\"DejaVuSans-54\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(338.917625 208.078437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-54\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_12\">\n",
       "     <g id=\"line2d_21\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"331.917625\" xlink:href=\"#m9a8b6a58c9\" y=\"180.119219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_21\">\n",
       "      <!-- −0.14 -->\n",
       "      <defs>\n",
       "       <path d=\"M 37.796875 64.3125 \n",
       "L 12.890625 25.390625 \n",
       "L 37.796875 25.390625 \n",
       "z\n",
       "M 35.203125 72.90625 \n",
       "L 47.609375 72.90625 \n",
       "L 47.609375 25.390625 \n",
       "L 58.015625 25.390625 \n",
       "L 58.015625 17.1875 \n",
       "L 47.609375 17.1875 \n",
       "L 47.609375 0 \n",
       "L 37.796875 0 \n",
       "L 37.796875 17.1875 \n",
       "L 4.890625 17.1875 \n",
       "L 4.890625 26.703125 \n",
       "z\n",
       "\" id=\"DejaVuSans-52\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(338.917625 183.918437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-52\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_13\">\n",
       "     <g id=\"line2d_22\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"331.917625\" xlink:href=\"#m9a8b6a58c9\" y=\"155.959219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_22\">\n",
       "      <!-- −0.12 -->\n",
       "      <g transform=\"translate(338.917625 159.758437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-50\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_14\">\n",
       "     <g id=\"line2d_23\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"331.917625\" xlink:href=\"#m9a8b6a58c9\" y=\"131.799219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_23\">\n",
       "      <!-- −0.10 -->\n",
       "      <g transform=\"translate(338.917625 135.598437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_15\">\n",
       "     <g id=\"line2d_24\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"331.917625\" xlink:href=\"#m9a8b6a58c9\" y=\"107.639219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_24\">\n",
       "      <!-- −0.08 -->\n",
       "      <g transform=\"translate(338.917625 111.438437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-56\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_16\">\n",
       "     <g id=\"line2d_25\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"331.917625\" xlink:href=\"#m9a8b6a58c9\" y=\"83.479219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_25\">\n",
       "      <!-- −0.06 -->\n",
       "      <g transform=\"translate(338.917625 87.278437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-54\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_17\">\n",
       "     <g id=\"line2d_26\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"331.917625\" xlink:href=\"#m9a8b6a58c9\" y=\"59.319219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_26\">\n",
       "      <!-- −0.04 -->\n",
       "      <g transform=\"translate(338.917625 63.118437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-52\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_18\">\n",
       "     <g id=\"line2d_27\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"331.917625\" xlink:href=\"#m9a8b6a58c9\" y=\"35.159219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_27\">\n",
       "      <!-- −0.02 -->\n",
       "      <g transform=\"translate(338.917625 38.958437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-50\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_19\">\n",
       "     <g id=\"line2d_28\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"331.917625\" xlink:href=\"#m9a8b6a58c9\" y=\"10.999219\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_28\">\n",
       "      <!-- 0.00 -->\n",
       "      <g transform=\"translate(338.917625 14.798437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"LineCollection_20\">\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 228.439219 \n",
       "L 331.917625 228.439219 \n",
       "\" style=\"fill:none;stroke:#440154;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 216.359219 \n",
       "L 331.917625 216.359219 \n",
       "\" style=\"fill:none;stroke:#481668;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 204.279219 \n",
       "L 331.917625 204.279219 \n",
       "\" style=\"fill:none;stroke:#482878;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 192.199219 \n",
       "L 331.917625 192.199219 \n",
       "\" style=\"fill:none;stroke:#443983;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 180.119219 \n",
       "L 331.917625 180.119219 \n",
       "\" style=\"fill:none;stroke:#3e4989;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 168.039219 \n",
       "L 331.917625 168.039219 \n",
       "\" style=\"fill:none;stroke:#375a8c;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 155.959219 \n",
       "L 331.917625 155.959219 \n",
       "\" style=\"fill:none;stroke:#31688e;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 143.879219 \n",
       "L 331.917625 143.879219 \n",
       "\" style=\"fill:none;stroke:#2b758e;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 131.799219 \n",
       "L 331.917625 131.799219 \n",
       "\" style=\"fill:none;stroke:#26828e;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 119.719219 \n",
       "L 331.917625 119.719219 \n",
       "\" style=\"fill:none;stroke:#21918c;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 107.639219 \n",
       "L 331.917625 107.639219 \n",
       "\" style=\"fill:none;stroke:#1f9e89;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 95.559219 \n",
       "L 331.917625 95.559219 \n",
       "\" style=\"fill:none;stroke:#25ab82;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 83.479219 \n",
       "L 331.917625 83.479219 \n",
       "\" style=\"fill:none;stroke:#35b779;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 71.399219 \n",
       "L 331.917625 71.399219 \n",
       "\" style=\"fill:none;stroke:#4ec36b;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 59.319219 \n",
       "L 331.917625 59.319219 \n",
       "\" style=\"fill:none;stroke:#6ece58;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 47.239219 \n",
       "L 331.917625 47.239219 \n",
       "\" style=\"fill:none;stroke:#90d743;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 35.159219 \n",
       "L 331.917625 35.159219 \n",
       "\" style=\"fill:none;stroke:#b5de2b;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 23.079219 \n",
       "L 331.917625 23.079219 \n",
       "\" style=\"fill:none;stroke:#dae319;stroke-width:1.5;\"/>\n",
       "    <path clip-path=\"url(#p2caad2472f)\" d=\"M 321.045625 10.999219 \n",
       "L 331.917625 10.999219 \n",
       "\" style=\"fill:none;stroke:#fde725;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_8\">\n",
       "    <path d=\"M 321.045625 228.439219 \n",
       "L 321.045625 216.359219 \n",
       "L 321.045625 23.079219 \n",
       "L 321.045625 10.999219 \n",
       "L 331.917625 10.999219 \n",
       "L 331.917625 23.079219 \n",
       "L 331.917625 216.359219 \n",
       "L 331.917625 228.439219 \n",
       "z\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       " <defs>\n",
       "  <clipPath id=\"pc35a8231e8\">\n",
       "   <rect height=\"217.44\" width=\"267.84\" x=\"36.465625\" y=\"10.999219\"/>\n",
       "  </clipPath>\n",
       "  <clipPath id=\"p2caad2472f\">\n",
       "   <rect height=\"217.44\" width=\"10.872\" x=\"321.045625\" y=\"10.999219\"/>\n",
       "  </clipPath>\n",
       " </defs>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "solution = psi[-1]\n",
    "plt.contour(solution,levels=20)\n",
    "plt.colorbar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Calculate the velocity vector field\n",
    "The next step is to calculate the velocity vector field and double check that we are divergence free"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "ψ = psi[-1]\n",
    "u = np.zeros([ny,nx])\n",
    "v = np.zeros([ny,nx])\n",
    "\n",
    "u[1:-1,1:-1] = (ψ[2:,1:-1] - ψ[:-2,1:-1])/2.0/dy\n",
    "v[1:-1,1:-1] = -(ψ[1:-1, 2:] - ψ[1:-1,:-2])/2.0/dx\n",
    "\n",
    "# now will in the boundary values - they are all zero except at the top boundary where u = Ut\n",
    "u[-1,1:-1] = Ut\n",
    "divu = (u[1:-1,2:] - u[1:-1,:-2])/2.0/dx + (v[2:,1:-1] - v[:-2,1:-1])/2.0/dy\n",
    "print(np.linalg.norm(divu.ravel()))\n",
    "\n",
    "# note the size of the velocity vector field - it does not have points at the boundaries."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Create some beautiful plots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = np.linspace(0,1,nx)\n",
    "y = np.linspace(0,1,ny)\n",
    "xx,yy = np.meshgrid(x,y)\n",
    "nn = 1\n",
    "plt.quiver(xx[::nn,::nn],yy[::nn,::nn],u[::nn,::nn],v[::nn,::nn])\n",
    "# plt.quiver(xx[1:-1:nn,1:-1:nn],yy[1:-1:nn,1:-1:nn],u[::nn,::nn],v[::nn,::nn])\n",
    "# plt.axis('equal')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "fig = plt.figure(figsize=[6,6],dpi=600)\n",
    "ax = fig.add_subplot(111)\n",
    "ax.contourf(xx, yy, np.sqrt(u*u + v*v), levels = 100, cmap=plt.cm.jet)\n",
    "ax.streamplot(xx,yy,u, v, color=np.sqrt(u*u + v*v),density=1.1,cmap=plt.cm.autumn,linewidth=1.5)\n",
    "# ax.set_xlim([xx[0,0],xx[0,-1]])\n",
    "# ax.set_ylim([0,1])\n",
    "# ax.set_aspect(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = np.linspace(0,1,nx)\n",
    "y = np.linspace(0,1,ny)\n",
    "xx,yy = np.meshgrid(x,y)\n",
    "nn = 3\n",
    "\n",
    "fig = plt.figure(figsize=(6.1,5),facecolor='w',dpi=150)\n",
    "ax = fig.add_subplot(111)\n",
    "\n",
    "\n",
    "ims = []\n",
    "# levs = np.linspace(-1,1,20)\n",
    "i = 0\n",
    "t = 0.0\n",
    "for sol in psi:    \n",
    "    if (i%10==0):      \n",
    "        u = (sol[2:,1:-1] - sol[:-2,1:-1])/2.0/dy\n",
    "        v = -(sol[1:-1, 2:] - sol[1:-1,:-2])/2.0/dx\n",
    "        im = ax.contourf(xx[1:-1,1:-1], yy[1:-1,1:-1], np.sqrt(u*u + v*v), levels = 100, cmap=plt.cm.jet)\n",
    "#         im = ax.streamplot(xx[1:-1,1:-1],yy[1:-1,1:-1],u,v, color=abs(u*u + v*v),cmap=plt.cm.autumn,linewidth=1.0)\n",
    "#         im = plt.contourf(solution,cmap=cm.jet,levels=100)\n",
    "        ims.append(im.collections)\n",
    "    i+=1\n",
    "    t += dt\n",
    "\n",
    "ax.set_xlim([0,1])\n",
    "ax.set_ylim([0,1])\n",
    "ax.set_aspect(1)\n",
    "\n",
    "# cbar = plt.colorbar()\n",
    "# plt.clim(-10,10)\n",
    "# cbar.set_ticks(np.linspace(0,10,5))\n",
    "\n",
    "ani = animation.ArtistAnimation(fig, ims, interval=35, blit=True,repeat_delay=1000)\n",
    "\n",
    "ani"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "divu = (u[1:-1, 2:] - u[1:-1,:-2])/2.0/dx + (v[2:,1:-1] - v[:-2,1:-1])/2.0/dy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.imshow(divu)\n",
    "plt.colorbar()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import urllib\n",
    "import requests\n",
    "from IPython.core.display import HTML\n",
    "def css_styling():\n",
    "    styles = requests.get(\"https://raw.githubusercontent.com/saadtony/NumericalMethods/master/styles/custom.css\")\n",
    "    return HTML(styles.text)\n",
    "css_styling()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
